
package Negocio;

import Datos.DBDatos;
import Entidades.Datos;
import Interfaces.IDatos;
import java.util.ArrayList;
import javax.swing.table.DefaultTableModel;

/**
 *
 * @author Nikolai Jolodkow
 */
public class NDatos implements IDatos{
    private int i;
    DBDatos dat;
    private ArrayList<Datos> asd;
    public NDatos(){
        dat=new DBDatos();
    }
    @Override
    public boolean ingreso(Datos dato) {
        if(valido(dato)==0){
            return dat.ingreso(dato);
        }
        return false;
    }

    @Override
    public boolean modificar(Datos dato) {
        if (valido(dato)==0) {
            return false;
        } else {
            if (dat.modificar(dato)) {
                return true;
            }
            return false;
        }

    }

    @Override
    public boolean eliminar(int id) {
        throw new UnsupportedOperationException("Not supported yet.");
    }



    @Override
    //author Rafael
    public Datos listafiltro(String filtro) {
        dat.listafiltro(filtro);
        throw new UnsupportedOperationException("Not supported yet.");
    }
   
    
    private int valido(Datos dato) {
        asd = listatodo();
        if (dato.getnombre() != null) {
            i = 0;
            for (i = 0; i < asd.size() && dato.getnombre() != asd.get(i).getnombre(); i++) {
            }
            if (i == asd.size()) {
                return 0;
            } else {
                return 1;
            }
        }
        return 1;
    }

    @Override
    public ArrayList<Datos> lista(String filtro) {
        return dat.lista(filtro);
    }

    @Override
    public ArrayList<Datos> Nombre(String filtro) {
        return dat.Nombre(filtro);
    }

    @Override
    public ArrayList<Datos> Numero(String filtro) {
        return dat.Numero(filtro);
    }

    @Override
    public ArrayList<Datos> Email(String filtro) {
        return dat.Email(filtro);
    }

    @Override
    public ArrayList<Datos> listatodo() {
        return dat.listatodo();
    }

    @Override
    public boolean validoDatos() {
        throw new UnsupportedOperationException("Not supported yet."); //To change body of generated methods, choose Tools | Templates.
    }

    @Override
    public DefaultTableModel listaprestamos() {
        throw new UnsupportedOperationException("Not supported yet."); //To change body of generated methods, choose Tools | Templates.
    }
    
}
